package be.ipl.finito.daoimpl;

import javax.ejb.EJB;
import javax.ejb.Stateless;

import be.ipl.finito.dao.JoueurDao;
import be.ipl.finito.dao.PartieDao;
import be.ipl.finito.dao.PlateauDao;
import be.ipl.finito.domaine.Jeton;
import be.ipl.finito.domaine.Joueur;
import be.ipl.finito.domaine.Plateau;

@SuppressWarnings("serial")
@Stateless
public class JoueurDaoImpl extends DaoImpl<Integer, Joueur> implements
		JoueurDao {

	@EJB PlateauDao plateauDao;
	
	@Override
	public Joueur rechercher(String pseudo) {
		String queryString = "select j from Joueur j where j.login = ?1";
		return recherche(queryString, pseudo);
	}
	
	@Override
	public Joueur chargerPlateaux(Joueur joueur) {
		joueur = rechercher(joueur.getId());
		joueur.getPlateaux().size();
		return joueur;
	}

	@Override
	public Joueur rechercherParEmail(String email) {
		String queryString = "select j from Joueur j where j.email = ?1";
		return recherche(queryString, email);
	}

	@Override
	public Joueur chargerTout(Joueur joueur) {
		joueur = rechercher(joueur.getId());
		joueur.getPlateaux().size();
		
		for (Plateau plateau : joueur.getPlateaux()) {
			plateauDao.chargerTout(plateau);
		}
		
		return joueur;
	}

}
